package org.jeecg.modules.scm.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.scm.dto.ItemSearchDto;
import org.jeecg.modules.scm.entity.ScmItem;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @Description: scm_item
 * @Author: jeecg-boot
 * @Date: 2021-10-21
 * @Version: V1.0
 */
public interface IScmItemService extends IService<ScmItem> {


    /**
     * 根据项目Id获取客户Id
     *
     * @param itemId 项目ID
     * @return
     */
    Integer getCusId(Integer itemId);

    /**
     * 改变项目状态
     *
     * @param itemId 项目Id
     * @param status 状态值 1、正常，2、终结
     * @return
     */
    boolean updateStatus(Integer itemId, Integer status);

    /**
     * 模糊搜索项目名称列表
     *
     * @param key 项目名称
     * @return id和项目名称列表
     */
    List<Map<String, Object>> likeName(String key);

    /**
     * 分页查询项目列表
     * 条件：根据项目名称、核心企业名称、建立日期组合条件查询
     *
     * @param dto 查询字段
     * @return
     */
    Page<ScmItem> searchItemList(ItemSearchDto dto);

    /**
     * 上传项目附件
     *
     * @param file   文件
     * @param itemId 项目 id
     * @return
     */
    String uploadAccessory(MultipartFile file, Integer itemId);
    /**
     * 根据核心客户名称获取项目
     * @param cusName
     * @return
     * */
    List<String> getItemByCusName(String cusName);


    /**
     * 添加时检查信息
     * */
    void check(ScmItem scmItem);


    /**
     * 客户项目情况查询
     * */
    Map<String,Object> getItemNum(String cusName,Integer year);

}
